A user or enterprise may execute a virtual machine using a cloud computing provider data center. The virtual machine might, for example, run a service or application for an enterprise (e.g., to handle a human resources task, process purchase order, etc.). In some cases, a user might want to move (or “migrate”) the virtual machine from one cloud computing provider to another cloud computing provider (e.g., a less costly or more reliable provider). Making such a change, however, can require a manual process that is costly, time-consuming and error prone (e.g., an administrator might have to investigate both the existing and new computing environments, adjust various parameters, initiate multiple steps to copy information to the new provider, etc.).
It would therefore be desirable to provide for the automatic migration of a virtual machine from one cloud computing provider to another in a fast, automatic, and accurate manner.